package com.huitu.whht.base.core.api.geo.irr.entities;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.BaseQo;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.List;


/**
 * 说明: 行政区界断面基本信息表查询条件实体类,表名称: WR_AB_B <br/>
 * 日期: 2018-07-24
 *
 * @author ZhangPeng
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GeoIrrQo extends BaseQo  {

    private static final long serialVersionUID = 4L;

    /**
     * (数组)灌区代码
     */
    private List<String> irrCdList;
    /**
     * 灌区代码
     */
    private String irrCd;
    /**
     * 灌区名称
     */
    private String irrNm;
    /**
     * (数组)灌区水源类型
     */
    private List<String> irrTpList;
    /**
     * (数组)灌区规模
     */
    private List<String> irrScalList;
    /**
     * (最小)设计灌溉面积
     */
    private Double desIrrAMin;
    /**
     * (最大)设计灌溉面积
     */
    private Double desIrrAMax;
    /**
     * (最小)其中耕地灌溉面积
     */
    private Double fieldIrrAMin;
    /**
     * (最大)其中耕地灌溉面积
     */
    private Double fieldIrrAMax;
    /**
     * (数组)运行状况
     */
    private List<String> runCondList;
    /**
     * (数组)管理单位代码
     */
    private List<String> engManCdList;
    /**
     * 管理单位代码
     */
    private String engManCd;
    /**
     * (开始时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsBgTm;
    /**
     * (结束时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsEdTm;
    /**
     * 备注
     */
    private String nt;
    /**
     * (数组)灌溉起始月
     */
    private List<String> irrStDtList;
    /**
     * (数组)灌溉结束月
     */
    private List<String> irrEndDtList;
    /**
     * (数组)引水类型
     */
    private List<String> intTpList;
    /**
     * (最小)有效灌溉面积
     */
    private Double effIrrAMin;
    /**
     * (最大)有效灌溉面积
     */
    private Double effIrrAMax;
    /**
     * (开始时间)开工日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime staDtBgTm;
    /**
     * (结束时间)开工日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime staDtEdTm;
    /**
     * (开始时间)建成日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime comDtBgTm;
    /**
     * (结束时间)建成日期
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime comDtEdTm;

    /**
     * (数组)关联的监测点的监控级别
     */
    private List<String> mpMonGList;
}
